<?xml version="1.0"?>
<ruleset name="CakePHP">
 <description>CakePHP coding standard</description>

 <rule ref="PSR2"/>

 <rule ref="PSR2.Classes.PropertyDeclaration.Underscore">
  <severity>0</severity>
 </rule>
 <rule ref="PSR2.Methods.MethodDeclaration.Underscore">
  <severity>0</severity>
 </rule>

 <rule ref="Squiz.Arrays.ArrayBracketSpacing"/>

 <rule ref="Squiz.Classes.LowercaseClassKeywords"/>

 <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
 <rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
 <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
 <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
 <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>

 <rule ref="Squiz.Commenting.DocCommentAlignment"/>
 <rule ref="Generic.Commenting.Todo"/>

 <rule ref="PEAR.ControlStructures.ControlSignature"/>

 <rule ref="Generic.Files.LineEndings"/>

 <rule ref="Generic.Formatting.NoSpaceAfterCast"/>

 <rule ref="Squiz.Operators.ValidLogicalOperators"/>

 <rule ref="Generic.PHP.DeprecatedFunctions"/>
 <rule ref="Squiz.PHP.DisallowSizeFunctionsInLoops"/>
 <rule ref="Squiz.PHP.Eval"/>
 <rule ref="Generic.PHP.ForbiddenFunctions"/>
 <rule ref="Squiz.PHP.NonExecutableCode"/>
 <rule ref="Generic.PHP.NoSilencedErrors"/>

 <rule ref="Squiz.Scope.MemberVarScope"/>
 <rule ref="Squiz.Scope.StaticThisUsage"/>

 <rule ref="Squiz.WhiteSpace.CastSpacing"/>
 <rule ref="Squiz.WhiteSpace.LanguageConstructSpacing"/>
 <rule ref="Squiz.WhiteSpace.LogicalOperatorSpacing"/>
 <rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>
 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>

 <rule ref="../Sniffs"/>
</ruleset>
